package com.akuhome.resource.dao;

import com.akuhome.resource.dto.NeedProject;
import com.akuhome.resource.dto.check.AccProject;
import com.akuhome.resource.dto.check.ClassroomProject;
import com.akuhome.resource.entity.Project;
import com.akuhome.resource.enums.ProjectStatus;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

@Repository
public interface ProjectDao {
    List<Project> findAll();
    List<Project> findAllByUserId(Integer userId);
    List<Project> findAllProjectInMonth(Date month);
    Project findById(Integer id);
    Project findByUid(String uid);
    Integer insert(Project project);
    List<NeedProject> findAllProjectHaveAccNeed();
    List<NeedProject> findAllProjectHaveFoodNeed();
    List<NeedProject> findAllProjectHaveFoodNeedAll();
    List<NeedProject> findAllProjectHaveClassroomNeedAndSession();
    List<NeedProject> findAllProjectHaveClassroomNeedNotSession();
    List<AccProject> findAllProjectHaveAccCheck();
    List<Project> findAllProjectHaveFoodCheck();
    List<ClassroomProject> findAllProjectHaveClassroomCheck();
    void updateProjectStatus(String uid, ProjectStatus status);
    void confirmProject(Integer id,ProjectStatus status);
}
